package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户亲社会行为统计对象 credit_prosocial_stats
 * 
 * @author ruoyi
 * @date 2024-01-26
 */
public class CreditProsocialStats extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 统计ID */
    private Long statsId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 总回收次数 */
    @Excel(name = "总回收次数")
    private Integer totalRecycleCount = 0;

    /** 总信用积分 */
    @Excel(name = "总信用积分")
    private Long totalCreditPoints;

    /** 总回收积分 */
    @Excel(name = "总回收积分")
    private Integer totalRecycleScore;

    /** 总回收重量(kg) */
    @Excel(name = "总回收重量(kg)")
    private BigDecimal totalRecycleWeight;

    /** 总减排CO₂(kg) */
    @Excel(name = "总减排CO₂(kg)")
    private BigDecimal carbonReduction;

    /** 总护水活动次数 */
    @Excel(name = "总护水活动次数")
    private Integer totalWaterActivities = 0;

    /** 总护水积分 */
    @Excel(name = "总护水积分")
    private Integer totalWaterScore;

    /** 保护水源体积(L) */
    @Excel(name = "保护水源体积(L)")
    private BigDecimal protectedWaterVolume;

    /** 清理面积(㎡) */
    @Excel(name = "清理面积(㎡)")
    private BigDecimal cleanedArea;

    /** 总公益活动次数 */
    @Excel(name = "总公益活动次数")
    private Integer totalCharityActivities = 0;

    /** 总公益积分 */
    @Excel(name = "总公益积分")
    private Integer totalCharityScore;

    /** 总志愿时长(小时) */
    @Excel(name = "总志愿时长(小时)")
    private BigDecimal totalVolunteerHours;

    /** 总捐赠金额(元) */
    @Excel(name = "总捐赠金额(元)")
    private BigDecimal totalDonationAmount;

    /** 回收重量(kg) */
    @Excel(name = "回收重量(kg)")
    private BigDecimal recycleWeight;

    /** 回收次数 */
    @Excel(name = "回收次数")
    private Integer recycleCount;


    /** 公益活动次数 */
    @Excel(name = "公益活动次数")
    private Integer waterActivityCount;


    /** 公益活动次数 */
    @Excel(name = "公益活动次数")
    private Integer charityActivityCount;



    /** 公益等级(1-5星) */
    @Excel(name = "公益等级(1-5星)")
    private Integer charityLevel;

    /** 公益积分 */
    @Excel(name = "公益积分")
    private Integer charityPoints;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdateTime;



    public void setStatsId(Long statsId) 
    {
        this.statsId = statsId;
    }

    public Integer getRecycleCount() {
        return recycleCount;
    }

    public void setRecycleCount(Integer recycleCount) {
        this.recycleCount = recycleCount;
    }

    public Long getStatsId()
    {
        return statsId;
    }

    public Long getTotalCreditPoints() {
        return totalCreditPoints;
    }

    public void setTotalCreditPoints(Long totalCreditPoints) {
        this.totalCreditPoints = totalCreditPoints;
    }

    public BigDecimal getRecycleWeight() {
        return recycleWeight;
    }

    public void setRecycleWeight(BigDecimal recycleWeight) {
        this.recycleWeight = recycleWeight;
    }

    public Integer getWaterActivityCount() {
        return waterActivityCount;
    }

    public void setWaterActivityCount(Integer waterActivityCount) {
        this.waterActivityCount = waterActivityCount;
    }

    public Integer getCharityActivityCount() {
        return charityActivityCount;
    }

    public void setCharityActivityCount(Integer charityActivityCount) {
        this.charityActivityCount = charityActivityCount;
    }

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setTotalRecycleCount(Integer totalRecycleCount) 
    {
        this.totalRecycleCount = totalRecycleCount;
    }

    public Integer getTotalRecycleCount() 
    {
        return totalRecycleCount;
    }
    public void setTotalRecycleScore(Integer totalRecycleScore) 
    {
        this.totalRecycleScore = totalRecycleScore;
    }

    public Integer getTotalRecycleScore() 
    {
        return totalRecycleScore;
    }
    public void setTotalRecycleWeight(BigDecimal totalRecycleWeight) 
    {
        this.totalRecycleWeight = totalRecycleWeight;
    }

    public BigDecimal getTotalRecycleWeight() 
    {
        return totalRecycleWeight;
    }
    public void setCarbonReduction(BigDecimal carbonReduction) 
    {
        this.carbonReduction = carbonReduction;
    }

    public BigDecimal getCarbonReduction() 
    {
        return carbonReduction;
    }
    public void setTotalWaterActivities(Integer totalWaterActivities) 
    {
        this.totalWaterActivities = totalWaterActivities;
    }

    public Integer getTotalWaterActivities() 
    {
        return totalWaterActivities;
    }
    public void setTotalWaterScore(Integer totalWaterScore) 
    {
        this.totalWaterScore = totalWaterScore;
    }

    public Integer getTotalWaterScore() 
    {
        return totalWaterScore;
    }
    public void setProtectedWaterVolume(BigDecimal protectedWaterVolume) 
    {
        this.protectedWaterVolume = protectedWaterVolume;
    }

    public BigDecimal getProtectedWaterVolume() 
    {
        return protectedWaterVolume;
    }
    public void setCleanedArea(BigDecimal cleanedArea) 
    {
        this.cleanedArea = cleanedArea;
    }

    public BigDecimal getCleanedArea() 
    {
        return cleanedArea;
    }
    public void setTotalCharityActivities(Integer totalCharityActivities) 
    {
        this.totalCharityActivities = totalCharityActivities;
    }

    public Integer getTotalCharityActivities() 
    {
        return totalCharityActivities;
    }
    public void setTotalCharityScore(Integer totalCharityScore) 
    {
        this.totalCharityScore = totalCharityScore;
    }

    public Integer getTotalCharityScore() 
    {
        return totalCharityScore;
    }
    public void setTotalVolunteerHours(BigDecimal totalVolunteerHours) 
    {
        this.totalVolunteerHours = totalVolunteerHours;
    }

    public BigDecimal getTotalVolunteerHours() 
    {
        return totalVolunteerHours;
    }
    public void setTotalDonationAmount(BigDecimal totalDonationAmount) 
    {
        this.totalDonationAmount = totalDonationAmount;
    }

    public BigDecimal getTotalDonationAmount() 
    {
        return totalDonationAmount;
    }
    public void setCharityLevel(Integer charityLevel) 
    {
        this.charityLevel = charityLevel;
    }

    public Integer getCharityLevel() 
    {
        return charityLevel;
    }
    public void setCharityPoints(Integer charityPoints) 
    {
        this.charityPoints = charityPoints;
    }

    public Integer getCharityPoints() 
    {
        return charityPoints;
    }
    public void setLastUpdateTime(Date lastUpdateTime) 
    {
        this.lastUpdateTime = lastUpdateTime;
    }

    public Date getLastUpdateTime() 
    {
        return lastUpdateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("statsId", getStatsId())
            .append("userId", getUserId())
            .append("totalRecycleCount", getTotalRecycleCount())
            .append("totalRecycleScore", getTotalRecycleScore())
            .append("totalRecycleWeight", getTotalRecycleWeight())
            .append("carbonReduction", getCarbonReduction())
            .append("totalWaterActivities", getTotalWaterActivities())
            .append("totalWaterScore", getTotalWaterScore())
            .append("protectedWaterVolume", getProtectedWaterVolume())
            .append("cleanedArea", getCleanedArea())
            .append("totalCharityActivities", getTotalCharityActivities())
            .append("totalCharityScore", getTotalCharityScore())
            .append("totalVolunteerHours", getTotalVolunteerHours())
            .append("totalDonationAmount", getTotalDonationAmount())
            .append("charityLevel", getCharityLevel())
            .append("charityPoints", getCharityPoints())
            .append("lastUpdateTime", getLastUpdateTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
} 